import os.path

from devicetest.aw.OpenHarmony import CommonOH
from devicetest.core.test_case import TestCase, Step

from aw.common import common_setup, common_teardown


class PreTest_RK3568_Basic_hap_0100(TestCase):
    # 预置条件：
    # 烧写目标版本后，正常进入桌面
    # 测试步骤：
    # 1、准备HAP包：AACommand08.hap
    # 2、cmd中执行安装HAP包的指令：hdc install AACommand08.hap
    # 3、在设备的桌面查看安装结果
    # 预期结果：
    # 1、hap包准备完成
    # 2、指令执行无异常，安装成功
    # 3、桌面hap包显示安装正常，各功能运行正常，且不影响其他应用使用

    def __init__(self, controllers):
        self.TAG = self.__class__.__name__
        TestCase.__init__(self, self.TAG, controllers)
        self.testcases_path = self.configs['testcases_path']
        self.hap_path = os.path.join(os.path.dirname(self.testcases_path), 'resource', 'hap', 'test_demo.hap')
        self.bundle_name = 'ohos.acts.multimedia.video.videoplayer'

    def setup(self):
        common_setup(self.Phone1)

    def process(self):
        Step('步骤1：准备HAP包，cmd中执行安装HAP包的指令：hdc install xxx.hap，在设备的桌面查看安装结果')
        CommonOH.installApp_r(self.Phone1, self.hap_path)
        Step('预期结果1：桌面hap包显示安装正常，各功能运行正常，且不影响其他应用使用')
        CommonOH.checkIfTextExist(self.Phone1, 'label')
        Step('步骤2：卸载测试hap包')
        CommonOH.uninstallHap(self.Phone1, self.bundle_name)

    def teardown(self):
        common_teardown(self.Phone1)
